/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucuenca.paginaasos.uimanager;
import edu.ucuenca.paginaasos.controller.GenericController;
import edu.ucuenca.paginaasos.entity.Usuario;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author Jose Ortiz
 */
@ManagedBean
@SessionScoped
public class LoginBean {

    private static final long serialVersionUID = 1L;
    private String uname;
    private String password;
    private Usuario logueado;

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public Usuario getLogueado() {
        return logueado;
    }

    public void setLogueado(Usuario logueado) {
        this.logueado = logueado;
    }

    
    
    
    
    public String loginProject() {
        boolean result = true;//UserDAO.login(uname, password);
        Usuario objetoUsuario = new Usuario();
        GenericController<Usuario> ctlUsuario = new GenericController();
        ctlUsuario.setObjeto(objetoUsuario);
        Map<String, Object> parametros = new HashMap();
        parametros.put("uname", this.uname);
        parametros.put("pass", this.password);
        List<Usuario> findWhere = ctlUsuario.findWhereQuery(objetoUsuario, "nombre=:uname AND clave=:pass", parametros);


        if (!findWhere.isEmpty()) {
            this.logueado = findWhere.get(0);
            return "backend/admin";
        } else {
            FacesContext.getCurrentInstance().addMessage(
                    null,
                    new FacesMessage(FacesMessage.SEVERITY_WARN,
                    "Invalid Login!",
                    "Please Try Again!"));
            return "login";
        }
    }
}
